﻿using TenantManagement.Localization;
using Xms.Abp.Authorization;

namespace MemberManagement;

[PermissionDefinition(typeof(MemberManagementResource))]
public class MemberManagementPermissions : PermissionsConstBase<MemberManagementPermissions>
{
    public const string GroupName = "MemberManagement";

    public class Tenants : PermissionsConstBase<Tenants>
    {
        public const string GroupName = MemberManagementPermissions.GroupName + Spliter + nameof(Tenants);
        public const string Create = GroupName + Spliter + nameof(Create);
        public const string Update = GroupName + Spliter + nameof(Update);
        public const string Delete = GroupName + Spliter + nameof(Delete);
        public const string ManageFeatures = GroupName + Spliter + nameof(ManageFeatures);

        public class ConnStrings : PermissionsConstBase<ConnStrings>
        {
            public const string GroupName = Tenants.GroupName + Spliter + nameof(ConnStrings);
            public const string Create = GroupName + Spliter + nameof(Create);
            public const string Update = GroupName + Spliter + nameof(Update);
            public const string Delete = GroupName + Spliter + nameof(Delete);
        }
        public class Domains : PermissionsConstBase<Domains>
        {
            public const string GroupName = Tenants.GroupName + Spliter + nameof(Domains);
            public const string Create = GroupName + Spliter + nameof(Create);
            public const string Update = GroupName + Spliter + nameof(Update);
            public const string Delete = GroupName + Spliter + nameof(Delete);
        }
    }
}
